#include <linux/init.h>
#include <linux/kernel.h>
#include <linux/module.h>

 
// 共享变量
int shared_value = 100;

// 导出共享变量
EXPORT_SYMBOL(shared_value);


// 加法函数
int export_add(int a, int b)
{
    return a + b;
}
EXPORT_SYMBOL(export_add);




// 减法函数
int export_sub(int a, int b)
{
    return a - b;
}
EXPORT_SYMBOL(export_sub);



// 模块初始化
static int __init math_export_init(void)
{
    printk(KERN_INFO "Math Export Module Loaded\n");
    printk(KERN_INFO "Initial shared_value = %d\n", shared_value);
    return 0;
}


// 模块退出
static void __exit math_export_exit(void)
{
    printk(KERN_INFO "Math Export Module Unloaded\n");
}


 

module_init(math_export_init);
module_exit(math_export_exit);

MODULE_LICENSE("GPL");
MODULE_AUTHOR("wang fang chen ");
MODULE_DESCRIPTION("Exports math functions and shared variable");